1
Manajemen Presisi dan Mitigasi Overflow
AI018Lesson 3
00:00

Dalam NumPy, Manajemen Presisi adalah pemilihan kedalaman bit secara sengaja untuk menyeimbangkan efisiensi memori dengan keakuratan numerik. Berbeda dengan bilangan bulat Python standar yang memiliki presisi tak terbatas, NumPy menggunakan tipe C berukuran tetap (misalnya, int32_t, uint64_t).

1. Hierarki Tipe

Tipe data NumPy menentukan ukuran memori. Meskipun np.int_() memberikan ukuran yang bergantung pada platform, sistem yang andal mengandalkan Alihnama Ukuran Tetap (Tabel: Halaman 34) untuk memastikan konsistensi di seluruh perangkat keras.

  • Bilangan Bulat:int8_t, int16_t, int32_t, int64_t.
  • Tanpa Tanda:uint8_t ke uint64_t.
  • Penunjuk:intptr_t, uintptr_t.

2. Alat Inspeksi

Sebelum melakukan operasi aritmetika, gunakan np.iinfo() dan np.finfo() untuk memeriksa batasan. Misalnya, 1 + np.finfo(np.longdouble).eps mengidentifikasi epsilon mesin—ambang batas di mana penjumlahan tidak lagi mengubah nilai.

Overflow Bilangan BulatLogika WraparoundMaks + 1 — MinTitik MengambangLogika SaturationMelebihi Maks — inf

3. Mekanisme Overflow

NumPy tidak melemparkan kesalahan saat overflow; ia gagal secara diam-diam. Dengan menggunakan np.power(100, 8, dtype=np.int32) menghasilkan pemotongan, sedangkan float64 beralih ke inf. Gunakan np.issubdtype(d, np.floating) untuk memvalidasi kategori sebelum operasi.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>